Delta Lake ๊ตฌํ์ ์ค์ ์ ๋ ๋ฐ์ดํฐ ๋ ์ดํฌ ์ํคํ ์ฒ๋ฅผ ์ดํด๋ณด์ธ์. ๊ฒฌ๊ณ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์๋ฃจ์ ๊ตฌ์ถ์ ์ํ ์ด์ , ๊ณผ์ , ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ์ค์ ์์ ๋ฅผ ์์๋ณด์ธ์.
๋ฐ์ดํฐ ๋ ์ดํฌ ์ํคํ ์ฒ: Delta Lake ๊ตฌํ ์ฌ์ธต ๋ถ์
์ค๋๋ ์ ๋ฐ์ดํฐ ์ค์ฌ ์ธ๊ณ์์ ์ ์ธ๊ณ ์กฐ์ง๋ค์ ๋ฐฉ๋ํ ์์ ์ ํ, ๋ฐ์ ํ, ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ ์ ๋ ์์กดํ๊ณ ์์ต๋๋ค. ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ค์ ์ง์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ ์ญํ ์ ํ์ฌ ๋ฐ์ดํฐ ๊ณผํ์, ๋ถ์๊ฐ, ์์ง๋์ด๊ฐ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค, ๋จธ์ ๋ฌ๋, ๊ณ ๊ธ ๋ถ์ ๋ฑ ๋ค์ํ ๋ชฉ์ ์ผ๋ก ๋ฐ์ดํฐ์ ์ก์ธ์คํ๊ณ ๋ถ์ํ ์ ์๋๋ก ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ, ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ , ACID(์์์ฑ, ์ผ๊ด์ฑ, ๊ณ ๋ฆฝ์ฑ, ์ง์์ฑ) ํธ๋์ญ์ ๋ถ์กฑ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์๋ฌ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ Delta Lake๊ฐ ๋ฑ์ฅํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ง์ ํ ์ ์ฌ๋ ฅ์ ๋ฐํํ ์ ์๋ ๊ฒฌ๊ณ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ๋ ๋ฌด์์ธ๊ฐ?
๋ฐ์ดํฐ ๋ ์ดํฌ๋ ๋ชจ๋ ์ ํ, ๋ฐ์ ํ, ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ท๋ชจ๋ก ์ ์ฅํ ์ ์๋ ์ค์ ์ง์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฒ๋ฆฌ๋๊ณ ํํฐ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ฌ๋ฆฌ, ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ๋ฐ์ดํฐ๋ฅผ ์์, ๋ค์ดํฐ๋ธ ํ์์ผ๋ก ์ ์ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ ์ ์คํค๋ง๋ฅผ ์ ์ํ ํ์ ์์ด ๋ค์ํ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ ๋ถ์ํ ์ ์์ผ๋ฏ๋ก ์ ์ฐ์ฑ๊ณผ ๋ฏผ์ฒฉ์ฑ์ด ํฅ์๋ฉ๋๋ค. ๋ชจ๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ด ํ๋ฐ ๋ชจ์ฌ ํ์ฉ๋๊ณ ์ ์ ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฑฐ๋ํ ์ ์์ง๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ณผ์
์ ์ฌ๋ ฅ์๋ ๋ถ๊ตฌํ๊ณ ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ข ์ข ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ๊ณผ์ ์ ์ง๋ฉดํฉ๋๋ค:
- ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ: ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ ํ์, ์์๋ ํ์ผ, ์คํจํ ์์ ์ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ์ ๋ถ์ ํํ ํต์ฐฐ๋ ฅ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ํ์ง: ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ ์ ์ ํ๋ก์ธ์ค๊ฐ ๋ถ์กฑํ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋๋ฌ์์ง๊ฑฐ๋ ๋ถ์ ํํด์ ธ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ขฐํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ACID ํธ๋์ญ์ ๋ถ์กฑ: ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ํ ๋์ ์ฐ๊ธฐ ๋ฐ ์ ๋ฐ์ดํธ๋ ๋ฐ์ดํฐ ์์ ๋ฐ ๋ถ์ผ์น๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ACID ํธ๋์ญ์ ์์ด๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ์คํค๋ง ์งํ: ๋ฐ์ดํฐ ์์ค๊ฐ ๋ฐ์ ํจ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์คํค๋ง๋ ๋ณ๊ฒฝ๋์ด์ผ ํ ์ ์์ต๋๋ค. ์คํค๋ง ์งํ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ณต์กํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค.
- ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค: ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ ํ๊ฒฝ์์๋ ๋ฐ์ดํฐ ๋ณด์, ๊ท์ ์ค์ ๋ฐ ์ก์ธ์ค ์ ์ด๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ด ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ์ฑ๋ฅ ๋ฌธ์ : ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ์์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฟผ๋ฆฌํ๊ณ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋๋ฆฌ๊ณ ๋นํจ์จ์ ์ผ ์ ์์ต๋๋ค.
Delta Lake ์๊ฐ: ์ ๋ขฐ์ฑ ์๊ณ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์
Delta Lake๋ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ ๋ขฐ์ฑ, ํ์ง, ์ฑ๋ฅ์ ์ ๊ณตํ๋ ์คํ ์์ค ์คํ ๋ฆฌ์ง ๊ณ์ธต์ ๋๋ค. Apache Spark ์์ ๊ตฌ์ถ๋ Delta Lake๋ ACID ํธ๋์ญ์ , ์คํค๋ง ์งํ, ๋ฐ์ดํฐ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ธฐํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์กฐ์ง์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ์๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒฌ๊ณ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
Delta Lake์ ์ฃผ์ ๊ธฐ๋ฅ
- ACID ํธ๋์ญ์ : Delta Lake๋ ACID ํธ๋์ญ์ ์ ์ ๊ณตํ์ฌ ์ฌ๋ฌ ์ฌ์ฉ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋์์ ์ฐ๊ธฐ๋ฅผ ์ํํ ๋๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ ์์ ์ํ์ ์ ๊ฑฐํ๊ณ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ์คํค๋ง ์งํ: Delta Lake๋ ์คํค๋ง ์งํ๋ฅผ ์ง์ํ์ฌ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๋จํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ์ ์ด์ ์ฝ๊ฒ ์ถ๊ฐ, ์ ๊ฑฐ ๋๋ ์์ ํ ์ ์์ต๋๋ค. ์ด๋ ๋ณํํ๋ ๋ฐ์ดํฐ ์๊ตฌ ์ฌํญ์ ์ ์ํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค.
- ๋ฐ์ดํฐ ๋ฒ์ ๊ด๋ฆฌ: Delta Lake๋ ๋ฐ์ดํฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ์ฌ ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ๊ณ๋ณด๋ฅผ ๊ฐ์ฌํ๊ณ , ๊ณผ๊ฑฐ ๋ถ์์ ์ฌํํ๋ฉฐ, ํ์ํ ๊ฒฝ์ฐ ์ด์ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ก ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
- ํ์ ํธ๋๋ธ(Time Travel): ๋ฐ์ดํฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ฉํ์ฌ Delta Lake๋ ๋ฐ์ดํฐ์ ์ด์ ์ค๋ ์ท์ ์ฟผ๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค. ํ์ ํธ๋๋ธ๋ก ์๋ ค์ง ์ด ๊ธฐ๋ฅ์ ๊ฐ์ฌ, ๋๋ฒ๊น ๋ฐ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ ์ํ ์ฌํ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
- ํตํฉ๋ ๋ฐฐ์น ๋ฐ ์คํธ๋ฆฌ๋ฐ: Delta Lake๋ ๋ฐฐ์น ๋ฐ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๋ชจ๋ ์ง์ํ๋ฏ๋ก ๊ณผ๊ฑฐ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ฒ๋ฆฌํ ์ ์๋ ํตํฉ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
- ํ์ฅ ๊ฐ๋ฅํ ๋ฉํ๋ฐ์ดํฐ ์ฒ๋ฆฌ: Delta Lake๋ ํํ๋ฐ์ดํธ ๊ท๋ชจ์ ๋ฐ์ดํฐ์ ์์ญ์ต ๊ฐ์ ํ์ผ์ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ์ฅ ๊ฐ๋ฅํ ๋ก๊ทธ ๊ธฐ๋ฐ ๋ฉํ๋ฐ์ดํฐ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๋ฐ์ดํฐ ํ์ง ๊ฐ์ : Delta Lake๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ํ์ง ์ ์ฝ ์กฐ๊ฑด์ ์ ์ํ๊ณ ๋ฐ์ดํฐ ์์ง ์ค์ ์ด๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ ์ ํจํ๊ณ ์ ํํ ๋ฐ์ดํฐ๋ง ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ธฐ๋ก๋๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ์คํ ํฌ๋งท: Delta Lake๋ ๋ค์ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋๊ตฌ ๋ฐ ํ๋ ์์ํฌ์์ ๋๋ฆฌ ์ง์๋๋ ์คํ ์์ค Parquet ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
- ์ต์ ํ๋ ์ฑ๋ฅ: Delta Lake๋ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ ์คํคํ, ์บ์ฑ, ์ธ๋ฑ์ฑ๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ฑ๋ฅ ์ต์ ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
Delta Lake ์ํคํ ์ฒ
Delta Lake ์ํคํ ์ฒ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ง๋๋ค:
- ๋ฐ์ดํฐ ์์ค: ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ ํ๋ฆฌ์ผ์ด์ , ์ผ์, ์ธ๋ถ API ๋ฑ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ธํ๋ ๋ค์ํ ์์ค์ ๋๋ค.
- ์์ง ๊ณ์ธต: ์ด ๊ณ์ธต์ ๋ค์ํ ์์ค์์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ญํ ์ ํฉ๋๋ค. ๋ฐ์ดํฐ ์ถ์ถ, ๋ณํ, ๋ก๋(ETL) ํ๋ก์ธ์ค๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
- ์คํ ๋ฆฌ์ง ๊ณ์ธต: ์ด ๊ณ์ธต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. Delta Lake๋ Amazon S3, Azure Data Lake Storage Gen2, Google Cloud Storage์ ๊ฐ์ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์๋น์ค๋ฅผ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ๊ณ์ธต์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
- ์ฒ๋ฆฌ ๊ณ์ธต: ์ด ๊ณ์ธต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ถ์ํ๋ ์ญํ ์ ํฉ๋๋ค. Apache Spark๋ ์ผ๋ฐ์ ์ผ๋ก Delta Lake์ ์ฒ๋ฆฌ ์์ง์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- ์๋น ๊ณ์ธต: ์ด ๊ณ์ธต์ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค ๋์๋ณด๋, ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ, ๋ฐ์ดํฐ ๋ถ์ ๋๊ตฌ ๋ฑ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ค์์ Delta Lake ์ํคํ ์ฒ๋ฅผ ๋จ์ํํ์ฌ ๋ํ๋ธ ๊ฒ์ ๋๋ค:
๋ฐ์ดํฐ ์์ค --> ์์ง ๊ณ์ธต (์: Spark Streaming, Apache Kafka) --> ์คํ ๋ฆฌ์ง ๊ณ์ธต (S3/ADLS/GCS ์์ Delta Lake) --> ์ฒ๋ฆฌ ๊ณ์ธต (Apache Spark) --> ์๋น ๊ณ์ธต (BI ๋๊ตฌ, ML ๋ชจ๋ธ)
Delta Lake ๊ตฌํ: ๋จ๊ณ๋ณ ๊ฐ์ด๋
๋ค์์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ Delta Lake๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ๋จ๊ณ๋ณ ๊ฐ์ด๋์ ๋๋ค:
- ํ๊ฒฝ ์ค์ : Apache Spark์ Delta Lake ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค. Databricks๋ Amazon EMR๊ณผ ๊ฐ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํ๋ซํผ์ ์ฌ์ฉํ๋ฉด ์ค์ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค.
- ์คํ ๋ฆฌ์ง ๊ตฌ์ฑ: ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์๋น์ค(์: Amazon S3, Azure Data Lake Storage Gen2, Google Cloud Storage)๋ฅผ ์ ํํ๊ณ Delta Lake์ ํจ๊ป ์๋ํ๋๋ก ๊ตฌ์ฑํฉ๋๋ค.
- Delta Lake๋ก ๋ฐ์ดํฐ ์์ง: Apache Spark๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด Parquet ํ์์ผ๋ก Delta Lake์ ์๋๋ค.
- ์คํค๋ง ์ ์: ๋ฐ์ดํฐ์ ์คํค๋ง๋ฅผ ์ ์ํ๊ณ ๋ฐ์ดํฐ ์์ง ์ค์ ์ด๋ฅผ ๊ฐ์ ํฉ๋๋ค.
- ๋ฐ์ดํฐ ๋ณํ ์ํ: Apache Spark๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณํ ๋ฐ ์ ์ ์์ ์ ์ํํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ๋ฐ ๋ถ์: SQL ๋๋ Spark DataFrame์ ์ฌ์ฉํ์ฌ Delta Lake์ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๊ณ ๋ถ์ํฉ๋๋ค.
- ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ์ ์ฑ ๊ตฌํ: ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๋ณด์, ๊ท์ ์ค์ ๋ฐ ์ก์ธ์ค ์ ์ด ์ ์ฑ ์ ๊ตฌํํฉ๋๋ค.
- ๋ฐ์ดํฐ ๋ ์ดํฌ ๋ชจ๋ํฐ๋ง ๋ฐ ์ ์ง ๊ด๋ฆฌ: ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ฑ๋ฅ๊ณผ ์ํ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ์์ ๋ฐ๋ผ ์ ์ง ๊ด๋ฆฌ ์์ ์ ์ํํฉ๋๋ค.
์์: Delta Lake๋ฅผ ์ฌ์ฉํ ์ค์๊ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
Delta Lake๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์๊ฑฐ๋ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ค์๊ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๋ ์ค์ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์๋๋ฆฌ์ค: ํ ์ ์ ์๊ฑฐ๋ ํ์ฌ๊ฐ ํธ๋ ๋๋ฅผ ํ์ ํ๊ณ , ์ฌ๊ธฐ๋ฅผ ํ์งํ๋ฉฐ, ๊ณ ๊ฐ ๊ฒฝํ์ ๊ฐ์ธํํ๊ธฐ ์ํด ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ถ์ํ๊ณ ์ ํฉ๋๋ค.
์๋ฃจ์ :
- ๋ฐ์ดํฐ ์์ง: ์ด ํ์ฌ๋ Apache Kafka๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์๊ฑฐ๋ ํ๋ซํผ์์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆฌ๋ฐํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ: Apache Spark Streaming์ด Kafka์์ ๋ฐ์ดํฐ๋ฅผ ์๋นํ์ฌ ์ค์๊ฐ์ผ๋ก Delta Lake์ ์๋๋ค.
- ๋ฐ์ดํฐ ๋ณํ: Spark๊ฐ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌ, ๋ณด๊ฐ, ์ง๊ณํ๋ ๋ฑ์ ๋ฐ์ดํฐ ๋ณํ์ ์ํํฉ๋๋ค.
- ์ค์๊ฐ ๋ถ์: ์ด ํ์ฌ๋ Spark SQL์ ์ฌ์ฉํ์ฌ Delta Lake์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฟผ๋ฆฌํ๊ณ ๋ถ์ํ์ฌ ๊ณ ๊ฐ ์ถ์ฒ์ ๊ฐ์ธํํ๊ณ ์ฌ๊ธฐ์ฑ ํธ๋์ญ์ ์ ํ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํต์ฐฐ๋ ฅ์ ์์ฑํฉ๋๋ค.
์ด ์๋๋ฆฌ์ค์์ Delta Lake ์ฌ์ฉ์ ์ด์ :
- ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ: Delta Lake๋ฅผ ํตํด ํ์ฌ๋ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ผ๋ฏ๋ก ๋ณํํ๋ ๊ณ ๊ฐ ์๊ตฌ์ ์ ์ํ๊ฒ ๋์ํ๊ณ ์ฌ๊ธฐ๊ฐ ๋ฐ์ํ๋ ์ฆ์ ํ์งํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ๋ขฐ์ฑ: Delta Lake๋ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์๋ ํธ๋์ญ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ขฐํ ์ ์๊ณ ์ผ๊ด์ฑ์ด ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
- ๋ฐ์ดํฐ ํ์ง: Delta Lake๋ฅผ ํตํด ํ์ฌ๋ ๋ฐ์ดํฐ ์์ง ์ค์ ๋ฐ์ดํฐ ํ์ง ์ ์ฝ ์กฐ๊ฑด์ ๊ฐ์ ํ์ฌ ์ ํจํ๊ณ ์ ํํ ๋ฐ์ดํฐ๋ง ์ฒ๋ฆฌ๋๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค.
- ํ์ฅ์ฑ: Delta Lake๋ ์ฑ๋ฅ ์ ํ ์์ด ๋๋์ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ํ์ฅํ ์ ์์ต๋๋ค.
Delta Lake ๊ตฌํ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
์ฑ๊ณต์ ์ธ Delta Lake ๊ตฌํ์ ์ํด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
- ์ฌ๋ฐ๋ฅธ ์คํ ๋ฆฌ์ง ํ์ ์ ํ: Parquet๋ ํจ์จ์ ์ธ ์์ถ ๋ฐ ์ธ์ฝ๋ฉ์ผ๋ก ์ธํด Delta Lake์ ๊ถ์ฅ๋๋ ์คํ ๋ฆฌ์ง ํ์์ ๋๋ค.
- Spark ๊ตฌ์ฑ ์ต์ ํ: ํน์ ์ํฌ๋ก๋์ ๋ํ ์ฑ๋ฅ์ ์ต์ ํํ๋๋ก Spark ๊ตฌ์ฑ์ ์กฐ์ ํ์ญ์์ค. ๋ฉ๋ชจ๋ฆฌ ํ ๋น, ๋ณ๋ ฌ ์ฒ๋ฆฌ, ์ ํ ํํฐ์ ๊ณผ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
- ๋ฐ์ดํฐ ์คํคํ ์ฌ์ฉ: Delta Lake๋ ๋ฐ์ดํฐ ์คํคํ์ ์ง์ํ์ฌ Spark๊ฐ ์ฟผ๋ฆฌ ์ค์ ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ง ์๋๋ก ํฉ๋๋ค. ๋ฐ์ดํฐ ์คํคํ์ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํค์ญ์์ค.
- ๋ฐ์ดํฐ ํํฐ์ ๋: ์ผ๋ฐ์ ์ธ ์ฟผ๋ฆฌ ์กฐ๊ฑด์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํํฐ์ ๋ํ๋ฉด ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ์์ ํ์ผ ์์ถ: ์์ ํ์ผ์ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์ต๋๋ค. ์ ๊ธฐ์ ์ผ๋ก ์์ ํ์ผ๋ค์ ๋ ํฐ ํ์ผ๋ก ์์ถํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํค์ญ์์ค.
- ์ค๋๋ ๋ฒ์ ์ ๋ฆฌ(Vacuum): Delta Lake๋ ๋ฐ์ดํฐ ๋ฒ์ ์ ์ถ์ ํ๋ฏ๋ก ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ์๋นํ ์ ์์ต๋๋ค. ์ ๊ธฐ์ ์ผ๋ก ์ค๋๋ ๋ฒ์ ์ ์ ๋ฆฌํ์ฌ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ํ๋ณดํ์ญ์์ค.
- ๋ฐ์ดํฐ ๋ ์ดํฌ ๋ชจ๋ํฐ๋ง: ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ฑ๋ฅ๊ณผ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์๋ณํ๊ณ ํด๊ฒฐํ์ญ์์ค.
- ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ์ ์ฑ ๊ตฌํ: ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๋ณด์, ๊ท์ ์ค์ ๋ฐ ์ก์ธ์ค ์ ์ด ์ ์ฑ ์ ๊ตฌํํ์ญ์์ค.
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๋ํ: ์ผ๊ด์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์๋ํํ์ญ์์ค.
Delta Lake์ ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ ์ดํฌ ์๋ฃจ์ ๋น๊ต
๋ค๋ฅธ ๋ฐ์ดํฐ ๋ ์ดํฌ ์๋ฃจ์ ๋ ์กด์ฌํ์ง๋ง, Delta Lake๋ ์ ๋ขฐ์ฑ, ์ฑ๋ฅ ๋ฐ ๊ฑฐ๋ฒ๋์ค ์ธก๋ฉด์์ ๋๋ ทํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- ๊ธฐ์กด Hadoop ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋น๊ต: Delta Lake๋ ๊ธฐ์กด Hadoop ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ์๋ ์๋ ACID ํธ๋์ญ์ ๊ณผ ์คํค๋ง ์งํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Apache Hudi ๋ฐ Apache Iceberg์ ๋น๊ต: Hudi์ Iceberg๋ ACID ํธ๋์ญ์ ๋ฐ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง, Delta Lake๋ ํนํ Spark ์ํ๊ณ์ ์ด๋ฏธ ๋ง์ด ํฌ์ํ ์กฐ์ง์๊ฒ ๊ตฌํ ๋ฐ ๊ด๋ฆฌ๊ฐ ๋ ๊ฐ๋จํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ํ์ ์ข ์ข ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๊ธฐ์กด ์ธํ๋ผ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
Delta Lake ์ฌ์ฉ ์ฌ๋ก
Delta Lake๋ ๋ค์์ ํฌํจํ ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค:
- ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ง: Delta Lake๋ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ ์ฐ์ฑ๊ณผ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์ ๋ขฐ์ฑ ๋ฐ ์ฑ๋ฅ์ ๊ฒฐํฉํ ํ๋์ ์ธ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ์ค์๊ฐ ๋ถ์: Delta Lake๋ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์์์ ์ ํ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐ ์ฌ์ฉ๋๋ ํต์ฐฐ๋ ฅ์ ์์ฑํ๋ ์ค์๊ฐ ๋ถ์ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ๋จธ์ ๋ฌ๋: Delta Lake๋ ๋จธ์ ๋ฌ๋์ ํ์ํ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค: Delta Lake๋ ๋ฐ์ดํฐ ํ์ง, ๋ณด์ ๋ฐ ๊ท์ ์ค์๋ฅผ ๋ณด์ฅํ๋ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ์ ์ฑ ์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ๊ฐ์ฌ ๋ฐ ๊ท์ ์ค์: Delta Lake์ ํ์ ํธ๋๋ธ ๊ธฐ๋ฅ์ ๊ฐ์ฌ ๋ฐ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ ์ด์์ ์ด๋ฉฐ, ๊ณผ๊ฑฐ ๋ฐ์ดํฐ ์ํ๋ฅผ ์ฝ๊ฒ ์ฌํํ ์ ์๋๋ก ํฉ๋๋ค.
Delta Lake์ ๋ฏธ๋
Delta Lake๋ ์ ๊ธฐ์ ์ผ๋ก ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ฌํญ์ด ์ถ๊ฐ๋๋ฉด์ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์์ต๋๋ค. Delta Lake์ ๋ฏธ๋๋ ๋ฐ์ผ๋ฉฐ, ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํ์ค ์คํ ๋ฆฌ์ง ๊ณ์ธต์ด ๋ ์ ์ฌ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์คํ ์์ค ์ปค๋ฎค๋ํฐ๋ ์ด ํ๋ก์ ํธ์ ์ ๊ทน์ ์ผ๋ก ๊ธฐ์ฌํ๊ณ ์์ผ๋ฉฐ, ์ฃผ์ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๋ค์ Delta Lake์ ๋ํ ๋ค์ดํฐ๋ธ ์ง์์ ์ ์ ๋ ๋ง์ด ์ ๊ณตํ๊ณ ์์ต๋๋ค.
๊ฒฐ๋ก
Delta Lake๋ ์ ๋ขฐํ ์ ์๊ณ , ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ, ์ฑ๋ฅ์ด ๋ฐ์ด๋ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ฐ๋ ฅํ๊ณ ๋ค์ฌ๋ค๋ฅํ ์๋ฃจ์ ์ ๋๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ณผ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ, Delta Lake๋ ์กฐ์ง์ด ๋ฐ์ดํฐ์ ์ง์ ํ ์ ์ฌ๋ ฅ์ ๋ฐํํ๊ณ ๊ฒฝ์ ์ฐ์๋ฅผ ํ๋ณดํ ์ ์๋๋ก ํฉ๋๋ค. ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ฅผ ๊ตฌ์ถํ๋ , ์ค์๊ฐ ๋ถ์ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๋ , ๋จธ์ ๋ฌ๋ ํ๋ซํผ์ ๊ตฌ์ถํ๋ , Delta Lake๋ ๋ชฉํ ๋ฌ์ฑ์ ๋์ธ ์ ์์ต๋๋ค. Delta Lake๋ฅผ ์ฑํํจ์ผ๋ก์จ ์ ์ธ๊ณ ์กฐ์ง์ ๋ฐ์ดํฐ ํ์ง์ ๊ฐ์ ํ๊ณ , ๋ถ์ ์๋๋ฅผ ๋์ด๋ฉฐ, ๋ฐ์ดํฐ ์ธํ๋ผ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค. Delta Lake๋ฅผ ์์ฉํ๋ ๊ฒ์ ์ง์ ์ผ๋ก ๋ฐ์ดํฐ ์ค์ฌ์ ์ธ ์กฐ์ง์ด ๋๊ณ ์ ํ๋ ๋ชจ๋ ์กฐ์ง์๊ฒ ์ค์ํ ๋จ๊ณ์ ๋๋ค. ๊ฒฌ๊ณ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ๊ตฌ์ถํ๋ ์ฌ์ ์ Delta Lake์ ํต์ฌ ์์น์ ์ดํดํ๊ณ ๊ตฌํ ์ ๋ต์ ์ ์คํ๊ฒ ๊ณํํ๋ ๊ฒ์์ ์์๋ฉ๋๋ค.